package vashion.azeroth.core.service;

import java.util.List;

import vashion.azeroth.core.personal.pojo.PersonalInviteCode;
import vashion.azeroth.core.result.ApiResult;

public interface PersonalInviteCodeService<T> {

	ApiResult<T> generateInviteCode(String memberId, long operatorId);
	
	ApiResult<T> getInviteCodeByCode(String code);
	
	ApiResult<List<T>> getAllInviteCode(PersonalInviteCode inviteCodeParam);
	
	ApiResult<Boolean> freezeInviteCode(long inviteCodeId, long operatorId);
	
	ApiResult<Boolean> resumeInviteCode(long inviteCodeId, long operatorId);
}
